package com.adcc.ags.gms.core.vo;

import com.adcc.ags.gms.core.entity.BaseEntity;
import com.fasterxml.jackson.core.JsonProcessingException;

import java.io.Serializable;
import java.text.ParseException;

/**
 * 基类视图对象
 */
public abstract class BaseVO<T extends BaseEntity> implements Serializable{

    /**
     * 构造函数
     */
    public BaseVO(){

    }

    /**
     * 构造函数
     * @param entity
     */
    public BaseVO(T entity){

    }

    /**
     * 构造函数
     * @param json
     */
    public BaseVO(String json){

    }

    /**
     * 将视图转换为实体
     * @return
     */
    public abstract T toEntity() throws ParseException;

    /**
     * 将视图转换为JSON
     * @return
     */
    public abstract String toJson() throws JsonProcessingException;
}